home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Amiga-E / E_v3.2a / Src / Tools / File / file.doc next >
Text File  |  1992-09-02  |  1KB  |  36 lines

  1. FILE.M: general file handling functions.
  2.  
  3.     mem,len:=readfile(filename,trailbyte="\n",memflags=0)
  4.  
  5. reads file "filename", trailing both at begin and end with 4 bytes each.
  6. The purpose of trailing is to enable fast searching; "\n" makes sense
  7. if filename is a text file, 0 for binary files.
  8. returns: ptr file was loaded to, and length.
  9. raises: "NEW", "OPEN" filename, "IN"
  10.  
  11.     freefile(mem)
  12.  
  13. frees memory allocated by readfile(). if you don't call freefile(),
  14. memory is deallocated at the end of the program.
  15.  
  16.     writefile(filename,mem,len)
  17.  
  18. writes a block of memory as file.
  19. raises: "OPEN" filename, "OUT"
  20.  
  21.     num:=countstrings(mem,len)
  22.  
  23. counts strings in memory block. mem must be "\n" trailed.
  24. returns: #of strings
  25.  
  26.     list:=stringsinfile(mem,len,max)
  27.  
  28. builds a LIST of nil-terminated strings, gathered from mem.
  29. max is maxsize of list, which can either be obtained from countstrings()
  30. (slow but accurate) or from your own guess (fast but inaccurate)
  31. returns: LIST of C-string pointers
  32. raises: "MEM"
  33. notes: - the contents of mem will be altered (i.e. "\n" bytes changed to 0)
  34.        - mem must be "\n" trailed.
  35.        - if ListLen(list) is equal to max, most likely max was too small
  36.